Think you can make better games than all of the crap you see on the app store?  If so, maybe its your time to learn how to make video games that run on your iPhone.  If you make a good enough game, I'll post it on this site in a new section called "Reader's Apps".  Better yet, let me help you get started.

Game programing is vastly different depending on which system you want to design for, while playstation and xbox tend to use the C++ language, iPhone development uses a different language called Objective-C.  Both languages are similar in design but vastly different in syntax.  When I started out at age 15 trying to learn to make video games, I was extremely annoyed with how many tutorials and examples there were on the programming languages but not games.  Most tutorials covered only the raw basics like printing out "records" and "calculations", but offered nothing for making games or drawing content on a screen.  So thats exactly what this is.  I won't go into detail on C, C++ or Objective-C here because it would take forever and take away from the game development aspect.  While you can follow this tutorial without learning to program I do still recommend that if not already, you learn the basics of how to program in C++ and Objective-C before, during, or after reading this tutorial.


To get started with Objective-C on the iPhone, lets dive in to new project that uses OpenGL ES.  Even though it is harder at first, using OpenGL allows us to make the jump from 2D to 3D games later on when we are ready.  If you don't already have it, you'll need to download the latest Xcode from apple.  Once you're ready, open up Xcode and start a new OpenGL ES project like so
Picture
Picture
Once the project appears, click the "build and run" icon.  You'll see something quite boring.  The default OpenGL ES project shows a bouncing square that goes up and down.  We're going to get rid of the stupid square and replace it with our own code.  Before we do that, we're going to make things easier on ourselves, because we don't need to do any advanced stuff that requires OpenGL ES version 2.0, we're going to disable it.  Find the file called EAGLView.m and open it up.